-
Couldn't load subscription status.
- Fork 16
umpf: add built-in support for synchronizing topic branches #53
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
umpf: add built-in support for synchronizing topic branches #53
Conversation
4353753 to
b48609e
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I really like this in general. A lot of small stuff, and as noted below, I think you can remove the local special case.
umpf
Outdated
| fi | ||
| local rtagrev="$(resolve_tag "${remote}" ${tagname})" | ||
| local rtagrevf="$(resolve_commitish ${rtagrev}^)" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
use resolve_tag here as well to make it less confusing.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Using rev-parse on FETCH_HEAD^ as resolve_remote_tag uses ls-remote which can't deal with ^
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is now local rtagrevf="$(${GIT} rev-parse --revs-only "FETCH_HEAD^" 2>/dev/null)"
b48609e to
4602b01
Compare
4602b01 to
14dbf0f
Compare
2f1ffad to
0269e99
Compare
|
I reworked the PR after discussion with @michaelolbrich. Key changes:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Almost there just minor stuff left that I should have found earlier. Sorry about that.
While umpf was explicitly developed with multiple developers adding
utags and sharing topic branches in mind, it is less than ideal when
there are multiple developers working on the same topic branches.
And it frequently leads to one of two issues:
- The branch is pushed before the utag is accepted into the BSP
repository and other developers get an unexpected addition to
their umpf
- The branch is not pushed after the utag is accepted into the BSP
repository and other developers get an unexpected removal from
their umpf
Every time this happens, it wastes a bit of time to identify what went
wrong and thus a solution built into umpf is appropriate:
- CI will call umpf --remote=downstream --force push $BSP/series.inc
when a PR touching a useries is accepted
- Developers can call umpf pull to synchronize their topic branches
or to find out when difference they have to the now upstream
version
Signed-off-by: Ahmad Fatoum <[email protected]>
0269e99 to
7d0912f
Compare
While umpf was explicitly developed with multiple developers adding utags and sharing topic branches in mind, it is less than ideal when there are multiple developers working on the same topic branches.
And it frequently leads to one of two issues:
The branch is pushed before the utag is accepted into the BSP repository and other developers get an unexpected addition to their umpf
The branch is not pushed after the utag is accepted into the BSP repository and other developers get an unexpected removal from their umpf
Every time this happens, it wastes a bit of time to identify what went wrong and thus a solution built into umpf is appropriate:
CI will call
umpf --remote=downstream --force push $BSP/series.incwhen a PR touching a useries is acceptedDevelopers can call
umpf pullto synchronize their topic branches or to find out when difference they have to the now upstream version